package com.cash.loan.modular.user.dao;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.cash.loan.common.entity.UserInfo;
import com.cash.loan.modular.cash.model.LoanProduct;
import com.cash.loan.modular.user.model.CashUserLogin;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 用户登录表 Mapper 接口
 * </p>
 *
 * @author yangbo123
 * @since 2018-07-09
 */
public interface CashUserLoginMapper extends BaseMapper<CashUserLogin> {

    /**
     * 通过imei查询条数
     * @param deviceId
     * @return
     */
    Long getIdByDeviceId(@Param("deviceId") String deviceId);

    /**
     * 新增数据
     * @param userLogin
     * @return
     */
    Long insertUserLogin(@Param("cashUserLogin") CashUserLogin userLogin);

    /**
     * 通过手机号判断是否存在
     * @param phone
     * @return
     */
    Integer isExistByPhone(@Param("phone") String phone);

    /**
     * 校验手机号和密码
     * @param phone
     * @param password
     * @return
     */
    Integer checkPhoneAndPwd(@Param("phone") String phone ,@Param("password") String password);

    /**
     * 得到token中存放的用户信息
     * @param phone
     * @return
     */
    UserInfo getUserInfo(@Param("phone") String phone);

    /**
     * 更新deviceId查看信息是否已经记录
     * @param deviceId
     * @return
     */
    int isExistDeviceId(@Param("deviceId") String deviceId);

    /**
     * 根据deviceId获取userId
     * @param deviceId
     * @return
     */
    Long getUserIdByDeviceId(@Param("deviceId") String deviceId);

    /**
     * 通过手机号更新密码
     * @param phone
     * @param password
     * @return
     */
    Integer updatePasswordByPhone(@Param("phone") String phone,@Param("password") String password);

    /**
     * 查询用户申请列表
     * @param visitId
     * @return
     */
    List<LoanProduct> getProductByVisitId(@Param("visitId") Long visitId);
}
